通過上一篇 DevOps 定義 知道 DevOps 起源及特性後,接著將要開始進入 DevOps 的一系列階段,如同前篇所提到的 DevOps 沒有固定的作法也沒有明確的定義,有不少組織提供了可供參考的 DevOps 概念圖。現在要來講的就是由 Gartner 提出,並被延用至今的一個 DevOps 工具鍊 (Toolchain),通過工具鍊圖中的七個階段可以提升對於 DevOps 的了解,進而開始建構出適合自家系統的 DevOps 工具鍊。
此圖為 Gartner DevOps Toolchain,Gartner 在將七個階段定義出來的同時,又將其分為耳熟能詳的四大區塊,分別是:
再一次強調這並不是唯一或標準的定義,不同的團隊組織皆可以自訂更加適合自己的工具鍊,以此來達到軟體被快速交付,也同時確保了軟體在品質上的必要性。
計畫階段是由專案擁有者、開發人員、維運人員...等,依據商業需求的複雜性、大小、嚴重性、功能和價值等,共同為了以符合商業需求且可發佈軟體為目標,是持續性快速疊代開發中的一個活動環節,此活動將驅使發布計劃不斷向前邁進。
創建階段是所有與產出程式碼相關的活動皆屬於此階段,在一些情境中創建與驗證階段是相互重疊或合併在一起的,這會取決於團隊所傭有的技能、腳色、服務的類型與服務的架構有關。
驗證階段是所有與確保程式碼品質的所有相關活動,其中一部分驗證階段將被包含在創建階段中。但更重要的是指在交付程式碼前,專門為提升程式碼品質而存在的一連串測試,如:用戶驗收測試、冒煙測試...等。
前製階段將取決於軟體如何發佈到生產環境中,其內容包含為了能順利佈署所需要的事前準備活動,也包含已被驗證軟體的自動發佈或等待發佈。前製階段不應被視為是障礙,而是一個不可或缺的過程,以幫助企業順利完成準備。
發佈階段包含排程、協調、定義和佈署軟體到生產環境。在此階段會確保目標環境是正常可接收狀態,並持續追蹤發佈活動的日誌、報告和告警。除了在發生錯誤時快速退版外,還應當包括變更管理工具。
配置階段是一個不可或缺的環節,沒有服務可以獨立存在而不需要任何配置。軟體被佈署後,會有許多的配置是無法在創建和驗收階段被設置好的,這些內容可能包含共享服務平台、儲存、資料庫和網路。
監控階段的重點在於生產環境運行的狀態和發佈過程中的各種指標。通過監控查看各種測試結果,以衡量發佈的有效性;或通過監控可查明特定版本的問題,並了解到終端用戶的使用體驗。
DevOps 工具鍊沒有標準的作法,使用者可以依據實際需求作調整。七個階段實際上並非互斥的關係,如創建及驗證階段是可能重疊或合併在一起,監控階段也與各個環節息息相關。通過 DevOps 工具鍊的七個階段和四大區塊,可以看出仍有一部分需要操作,而大多數則有機會落入自動化的流程。